home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Interactive Media Design Review 1999
/
Interactive Media Design Review 1999.iso
/
pc
/
Demos
/
Herois
/
Codigo.Cst
/
00021_Script_Anima Sprite c- Preambulo
< prev
next >
Wrap
Text File
|
1999-03-19
|
2KB
|
65 lines
property memberPrim, memberUlt -- Cast members que serao animados
property memPrim, memQuantos -- Membros: em numero
property espera -- Tempo de espera entre cada mudanca (em ticks)
property aleatorio -- True para mudanca aleatoria
property ultimaTroca -- Hora em que foi feita ultima troca
property fotoAtual
property imagensPreambulo
on getBehaviorDescription
return "Anima sprites"
end
on getPropertyDescriptionList
set p_list = [ ¼
#memberPrim: [ #comment: "Primeiro membro da animacao", ¼
#format: #string, ¼
#default: "" ], ¼
#memberUlt: [ #comment: "Ultimo membro da animacao", ¼
#format: #string, ¼
#default: "" ], ¼
#imagensPreambulo: [ #comment: "Numero de imagens de preambulo", ¼
#format: #integer, ¼
#default: 0 ], ¼
#espera: [ #comment: "Espera entre cada troca em 1/60s (velocidade)",¼
#format: #integer,¼
#default: 60 ],¼
#aleatorio: [ #comment: "Animacao randomica",¼
#format: #boolean,¼
#default: false ]¼
]
return p_list
end
on beginSprite me
set memPrim to the number of member memberPrim
set memQuantos to (the number of member memberUlt) - memPrim + 1
put 0 into fotoAtual
end
on cleanSprite me
puppetSprite (the spriteNum of me),false
end
on idleSprite me
global gMustUpdate
-- Testa se ja e' hora de trocar figura
if (the timer - ultimaTroca) > espera then
-- Descobre qual a proxima figura a trocar
if (aleatorio) then
put random(memQuantos - 1 - imagensPreambulo) - 1 + imagensPreambulo into tmp
if tmp >= fotoAtual then put 1 + tmp into tmp
put tmp into fotoAtual
else
put fotoAtual + 1 into fotoAtual
if fotoAtual >= memQuantos then put imagensPreambulo into fotoAtual
end if
-- Muda figura e updateStage
set the member of sprite (the spriteNum of me) to memPrim + fotoAtual
set gMustUpdate to true
put the timer into ultimaTroca
end if
end